/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.jili.ubert.code.adapter2server;

import com.baidu.bjf.remoting.protobuf.Codec;
import com.baidu.bjf.remoting.protobuf.FieldType;
import com.baidu.bjf.remoting.protobuf.ProtobufProxy;
import com.baidu.bjf.remoting.protobuf.annotation.Protobuf;
import com.jili.ubert.code.client2server.NewOrder;
import java.io.IOException;
import java.util.Date;

/**
 *
 * @author ChengJiLi
 */
public class ReportOrder {
     private Integer id;
     private Date timeStamp;
     @Protobuf
     private String msgtype;
     @Protobuf
     private int orderId;
     @Protobuf
     private int reportno;
     @Protobuf(fieldType = FieldType.BYTES, order=4, required = false)
     private byte[] reportcontent;
     @Protobuf
     private Integer entrustNo;
     @Protobuf
     private String entrustkey;
     @Protobuf
     private Integer workingQty;
     @Protobuf
     private Integer unWorkingQty;
     @Protobuf
     private Integer cancelQty;
     @Protobuf
     private Integer exeQtyTatol;
     @Protobuf
     private Float avgPrice;
     @Protobuf
     private double exeAmountTatol;
     @Protobuf
     private Float price;
     @Protobuf
     private int exexseq;
     @Protobuf
     private int exeSequenceNo;
     @Protobuf
     private String outsideExeNo;
     @Protobuf
     private Integer exeQty;
     @Protobuf
     private Float exePrice;
     @Protobuf
     private String currency;
     @Protobuf
     private double exeAmount;
     @Protobuf
     private String accountCode;
     @Protobuf
     private String marketCode;
     @Protobuf
     private String classCode;
     @Protobuf
     private String obj;
     @Protobuf
     private String bs;
     @Protobuf
     private String openClose;
     @Protobuf
     private String hedgeFlag;
     @Protobuf
     private String closeType;
     @Protobuf
     private String exeTimeStr;
     private Date exeTime;
     @Protobuf
     private String entrustTimeStr;
     private Date entrustTime;
     @Protobuf
     private String submitTimeStr;
     private Date submitTime;
     @Protobuf
     private String tradeDateStr;
     private Date tradeDate;
     @Protobuf
     private String investId;
     private String ownUserId;
     private String alterUserId;
     private Date createTime;
     @Protobuf
     private NewOrder order;

    public ReportOrder() {
    }

	
    public ReportOrder(int orderId, int reportno, int exexseq, int exeSequenceNo, String accountCode, Date tradeDate) {
        this.orderId = orderId;
        this.reportno = reportno;
        this.exexseq = exexseq;
        this.exeSequenceNo = exeSequenceNo;
        this.accountCode = accountCode;
        this.tradeDate = tradeDate;
    }
    public ReportOrder(String msgtype, int orderId, int reportno, byte[] reportcontent, Integer entrustNo, String entrustkey, Integer workingQty, Integer unWorkingQty, Integer cancelQty, Float price, int exexseq, int exeSequenceNo, String outsideExeNo, Integer exeQty, Float exePrice, String currency, Float exeAmount, String accountCode, String marketCode, String classCode, String obj, String bs, String openClose, String hedgeFlag, String closeType, Date exeTime, Date entrustTime, Date submitTime, Date tradeDate, String investId, String ownUserId, String alterUserId, Date createTime) {
       this.msgtype = msgtype;
       this.orderId = orderId;
       this.reportno = reportno;
       this.reportcontent = reportcontent;
       this.entrustNo = entrustNo;
       this.entrustkey = entrustkey;
       this.workingQty = workingQty;
       this.unWorkingQty = unWorkingQty;
       this.cancelQty = cancelQty;
       this.price = price;
       this.exexseq = exexseq;
       this.exeSequenceNo = exeSequenceNo;
       this.outsideExeNo = outsideExeNo;
       this.exeQty = exeQty;
       this.exePrice = exePrice;
       this.currency = currency;
       this.exeAmount = exeAmount;
       this.accountCode = accountCode;
       this.marketCode = marketCode;
       this.classCode = classCode;
       this.obj = obj;
       this.bs = bs;
       this.openClose = openClose;
       this.hedgeFlag = hedgeFlag;
       this.closeType = closeType;
       this.exeTime = exeTime;
       this.entrustTime = entrustTime;
       this.submitTime = submitTime;
       this.tradeDate = tradeDate;
       this.investId = investId;
       this.ownUserId = ownUserId;
       this.alterUserId = alterUserId;
       this.createTime = createTime;
    }
   
    public Integer getId() {
        return this.id;
    }
    
    public void setId(Integer id) {
        this.id = id;
    }
    public Date getTimeStamp() {
        return this.timeStamp;
    }
    
    public void setTimeStamp(Date timeStamp) {
        this.timeStamp = timeStamp;
    }
    public String getMsgtype() {
        return this.msgtype;
    }
    
    public void setMsgtype(String msgtype) {
        this.msgtype = msgtype;
    }
    public int getOrderId() {
        return this.orderId;
    }
    
    public void setOrderId(int orderId) {
        this.orderId = orderId;
    }
    public int getReportno() {
        return this.reportno;
    }
    
    public void setReportno(int reportno) {
        this.reportno = reportno;
    }
    public byte[] getReportcontent() {
        return this.reportcontent;
    }
    
    public void setReportcontent(byte[] reportcontent) {
        this.reportcontent = reportcontent;
    }
    public Integer getEntrustNo() {
        return this.entrustNo;
    }
    
    public void setEntrustNo(Integer entrustNo) {
        this.entrustNo = entrustNo;
    }
    public String getEntrustkey() {
        return this.entrustkey;
    }
    
    public void setEntrustkey(String entrustkey) {
        this.entrustkey = entrustkey;
    }
    public Integer getWorkingQty() {
        return this.workingQty;
    }
    
    public void setWorkingQty(Integer workingQty) {
        this.workingQty = workingQty;
    }
    public Integer getUnWorkingQty() {
        return this.unWorkingQty;
    }
    
    public void setUnWorkingQty(Integer unWorkingQty) {
        this.unWorkingQty = unWorkingQty;
    }
    public Integer getCancelQty() {
        return this.cancelQty;
    }
    
    public void setCancelQty(Integer cancelQty) {
        this.cancelQty = cancelQty;
    }
    public Float getPrice() {
        return this.price;
    }
    
    public void setPrice(Float price) {
        this.price = price;
    }
    public int getExexseq() {
        return this.exexseq;
    }
    
    public void setExexseq(int exexseq) {
        this.exexseq = exexseq;
    }
    public int getExeSequenceNo() {
        return this.exeSequenceNo;
    }
    
    public void setExeSequenceNo(int exeSequenceNo) {
        this.exeSequenceNo = exeSequenceNo;
    }
    public String getOutsideExeNo() {
        return this.outsideExeNo;
    }
    
    public void setOutsideExeNo(String outsideExeNo) {
        this.outsideExeNo = outsideExeNo;
    }
    public Integer getExeQty() {
        return this.exeQty;
    }
    
    public void setExeQty(Integer exeQty) {
        this.exeQty = exeQty;
    }
    public Float getExePrice() {
        return this.exePrice;
    }
    
    public void setExePrice(Float exePrice) {
        this.exePrice = exePrice;
    }
    public String getCurrency() {
        return this.currency;
    }
    
    public void setCurrency(String currency) {
        this.currency = currency;
    }
    public double getExeAmount() {
        return this.exeAmount;
    }
    
    public void setExeAmount(double exeAmount) {
        this.exeAmount = exeAmount;
    }
    public String getAccountCode() {
        return this.accountCode;
    }
    
    public void setAccountCode(String accountCode) {
        this.accountCode = accountCode;
    }
    public String getMarketCode() {
        return this.marketCode;
    }
    
    public void setMarketCode(String marketCode) {
        this.marketCode = marketCode;
    }
    public String getClassCode() {
        return this.classCode;
    }
    
    public void setClassCode(String classCode) {
        this.classCode = classCode;
    }
    public String getObj() {
        return this.obj;
    }
    
    public void setObj(String obj) {
        this.obj = obj;
    }
    public String getBs() {
        return this.bs;
    }
    
    public void setBs(String bs) {
        this.bs = bs;
    }
    public String getOpenClose() {
        return this.openClose;
    }
    
    public void setOpenClose(String openClose) {
        this.openClose = openClose;
    }
    public String getHedgeFlag() {
        return this.hedgeFlag;
    }
    
    public void setHedgeFlag(String hedgeFlag) {
        this.hedgeFlag = hedgeFlag;
    }
    public String getCloseType() {
        return this.closeType;
    }
    
    public void setCloseType(String closeType) {
        this.closeType = closeType;
    }
    public Date getExeTime() {
        return this.exeTime;
    }
    
    public void setExeTime(Date exeTime) {
        this.exeTime = exeTime;
    }
    public Date getEntrustTime() {
        return this.entrustTime;
    }
    
    public void setEntrustTime(Date entrustTime) {
        this.entrustTime = entrustTime;
    }
    public Date getSubmitTime() {
        return this.submitTime;
    }
    
    public void setSubmitTime(Date submitTime) {
        this.submitTime = submitTime;
    }
    public Date getTradeDate() {
        return this.tradeDate;
    }
    
    public void setTradeDate(Date tradeDate) {
        this.tradeDate = tradeDate;
    }
    public String getInvestId() {
        return this.investId;
    }
    
    public void setInvestId(String investId) {
        this.investId = investId;
    }
    public String getOwnUserId() {
        return this.ownUserId;
    }
    
    public void setOwnUserId(String ownUserId) {
        this.ownUserId = ownUserId;
    }
    public String getAlterUserId() {
        return this.alterUserId;
    }
    
    public void setAlterUserId(String alterUserId) {
        this.alterUserId = alterUserId;
    }
    public Date getCreateTime() {
        return this.createTime;
    }
    
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }




     
    public byte[] EnCode(ReportOrder msg) throws IOException{
        Codec<ReportOrder> Lcode = ProtobufProxy.create(ReportOrder.class);
        return Lcode.encode(msg);
    }
    public ReportOrder DeCode(byte[] data) throws IOException{
        Codec<ReportOrder> Lcode = ProtobufProxy.create(ReportOrder.class);
        return Lcode.decode(data);  
    }

    /**
     * @return the exeTimeStr
     */
    public String getExeTimeStr() {
        return exeTimeStr;
    }

    /**
     * @param exeTimeStr the exeTimeStr to set
     */
    public void setExeTimeStr(String exeTimeStr) {
        this.exeTimeStr = exeTimeStr;
    }

    /**
     * @return the entrustTimeStr
     */
    public String getEntrustTimeStr() {
        return entrustTimeStr;
    }

    /**
     * @param entrustTimeStr the entrustTimeStr to set
     */
    public void setEntrustTimeStr(String entrustTimeStr) {
        this.entrustTimeStr = entrustTimeStr;
    }

    /**
     * @return the submitTimeStr
     */
    public String getSubmitTimeStr() {
        return submitTimeStr;
    }

    /**
     * @param submitTimeStr the submitTimeStr to set
     */
    public void setSubmitTimeStr(String submitTimeStr) {
        this.submitTimeStr = submitTimeStr;
    }

    /**
     * @return the tradeDateStr
     */
    public String getTradeDateStr() {
        return tradeDateStr;
    }

    /**
     * @param tradeDateStr the tradeDateStr to set
     */
    public void setTradeDateStr(String tradeDateStr) {
        this.tradeDateStr = tradeDateStr;
    }

    /**
     * @return the order
     */
    public NewOrder getOrder() {
        return order;
    }

    /**
     * @param order the order to set
     */
    public void setOrder(NewOrder order) {
        this.order = order;
    }

    /**
     * @return the exeQtyTatol
     */
    public Integer getExeQtyTatol() {
        return exeQtyTatol;
    }

    /**
     * @param exeQtyTatol the exeQtyTatol to set
     */
    public void setExeQtyTatol(Integer exeQtyTatol) {
        this.exeQtyTatol = exeQtyTatol;
    }

    /**
     * @return the avgPrice
     */
    public Float getAvgPrice() {
        return avgPrice;
    }

    /**
     * @param avgPrice the avgPrice to set
     */
    public void setAvgPrice(Float avgPrice) {
        this.avgPrice = avgPrice;
    }

    /**
     * @return the exeAmountTatol
     */
    public double getExeAmountTatol() {
        return exeAmountTatol;
    }

    /**
     * @param exeAmountTatol the exeAmountTatol to set
     */
    public void setExeAmountTatol(double exeAmountTatol) {
        this.exeAmountTatol = exeAmountTatol;
    }
}
